package io.adrainty.bolee.security.models.constants;

/**
 * <p>OAuth2Constants</p>
 *
 * @author AdRainty
 * @version V1.0.0
 * @description OAuth2Constants
 * @since 2025/8/4 14:19:40
 */

@SuppressWarnings("unused")
public class OAuth2Constants {

    private OAuth2Constants() {
    }

    /**
     * 登录参数KEY定义
     */
    public static final String USER_ID_KEY = "user_id";
    public static final String REAL_NAME_KEY = "real_name";
    public static final String LOGIN_TYPE_KEY = "login_type";
    public static final String CLIENT_ID_KEY = "client_id";
    public static final String GRANT_TYPE_KEY = "grant_type";
    public static final String CLIENT_SECRET_KEY = "client_secret";
    public static final String USER_NAME_KEY = "username";
    public static final String SEX_KEY = "sex";
    public static final String MOBILE_KEY = "mobile";
    public static final String PASSWORD_KEY = "password";
    public static final String EXPIRES_IN_KEY = "expires_in";
    public static final String RESOURCS_KEY = "resources";
    public static final String AUTHORITIES_KEY = "authorities";

    public static final String ROLES_KEY = "roles";
    public static final String JTI_KEY = "jti";
    public static final String REFRESH_TOKEN_KEY = "refresh_token";
    public static final String CODE_KEY = "code";
    public static final String OPEN_ID_KEY = "open_id";
    public static final String DEPT_NO_KEY = "dept_no";
    public static final String POST_NO_KEY = "post_no";
    public static final String DATA_SECURITY_KEY = "data_security";
    public static final String ONLY_AUTHENTICATE_KEY = "only_authenticate";
    public static final String COMPANY_NO_KEY = "company_no";

    public static final String CACHE_PREFIX = "oauth:";
    public static final String USER_TOKEN_CACHE = CACHE_PREFIX + "user-token:";
    public static final String REFRESH_TOKEN_CACHE = CACHE_PREFIX + "refresh-token:";

}
